System and method for remote resume of video and dvr content

ABSTRACT

A media broker includes a communication interface communicatively coupling the media broker to one or more renderers and a controller associated with the communication interface adapted to receive a request from a user of a renderer to play a media item. The media broker further retrieves at least one resume point record associated with the user and the media item and enables viewing the media item at the renderer beginning at the at least one resume point.

RELATED APPLICATIONS

This application claims the benefit of provisional patent application Ser. No. 61/173,628, filed Apr. 29, 2009, the disclosure of which is hereby incorporated herein by reference in its entirety.

FIELD OF THE DISCLOSURE

The present invention relates to a system and method for establishing resume points associated with media content that may be accessed wherever the media content is viewed.

BACKGROUND

As homes with multiple TVs, as well as other devices to watch content such as laptops and portable devices (collectively referred to as renderers), become more prevalent there exists a need to be able to not only “time-shift” content but also “place-shift” content currently being watched between any of the “renderers” within the home. As such, there exists a need to be able to cease the viewing of media content at a first location while enabling the almost seamless transition to viewing the media content at another location and/or at another time such that the viewing of the media content resumes from the point at which it was previously stopped.

SUMMARY

In accordance with an exemplary and non-limiting embodiment a media broker comprises a communication interface communicatively coupling the media broker to one or more renderers and a controller associated with the communication interface adapted to receive a request from a user of a renderer to play a media item. The media broker further retrieves at least one resume point record associated with the user and the media item and comprising at least one resume point. The media broker then enables viewing the media item at the renderer beginning at the at least one resume point.

In accordance with another exemplary and non-limiting embodiment, a computer readable medium that is embodied in an article of manufacture is encoded with instructions for directing a processor to receive a request from a user of a renderer to play a media item. The media broker further retrieves at least one resume point record associated with the user and the media item and comprising at least one resume point. The media broker then enables viewing the media item at the renderer beginning at the at least one resume point.

In accordance with another exemplary and non-limiting embodiment, a method includes receiving a request from a user of a renderer to play a media item. At least one resume point record associated with the user and the media item and comprising at least one resume point is retrieved. Viewing the media item is then enabled at the renderer beginning at the at least one resume point.

In accordance with another exemplary and non-limiting embodiment, a renderer comprising a communication interface communicatively coupling the renderer to a media broker and a controller associated with the communication interface is adapted to transmit a request comprising a user identifier and a media item identifier associated with a media item to a media broker and receive at least one resume point associated with the user identifier and the media item identifier. The renderer further displays the at least one resume point, receives a selection of one of the at least one resume point and transmits the selection to the media broker.

In accordance with another exemplary and non-limiting embodiment, a computer-readable medium embodied in an article of manufacture is encoded with instructions for directing a processor of a renderer to transmit a request comprising a user identifier and a media item identifier associated with a media item to a media broker, receive at least one resume point associated with the user identifier and the media item identifier, display the at least one resume point, receive a selection of one of the at least one resume point and transmit the selection to the media broker.

In accordance with another exemplary and non-limiting embodiment, a method comprises transmitting a request comprising a user identifier and a media item identifier associated with a media item to a media broker, receiving at least one resume point associated with the user identifier and the media item identifier, displaying the at least one resume point, receiving a selection of one of the at least one resume point and transmitting the selection to the media broker.

Those skilled in the art will appreciate the scope of the present disclosure and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure.

FIG. 1 illustrates a system incorporating a network for communicatively coupling a media broker to one or more renderers and media storage devices according to an exemplary embodiment;

FIG. 2 illustrates a diagram of a user server according to an exemplary embodiment;

FIG. 3 illustrates a diagram of a media broker according to an exemplary embodiment;

FIG. 4 illustrates a sequence diagram of the retrieval of a resume point according to an exemplary embodiment;

FIG. 5 illustrates a graphical user interface (GUI) according to an exemplary embodiment;

FIG. 6 illustrates a sequence diagram of the creation of a resume point according to an exemplary embodiment;

FIG. 7 illustrates another graphical user interface (GUI) according to an exemplary embodiment;

FIG. 8 illustrates a schematic diagram of a user server according to an exemplary embodiment;

FIG. 9 illustrates a schematic diagram of a media broker according to an exemplary embodiment; and

FIG. 10 illustrates a schematic diagram of a media storage device according to an exemplary embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the disclosed embodiments and illustrate the best mode of practicing the disclosed embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.

In accordance with an exemplary and non-limiting embodiment, a media broker comprises a communication interface communicatively coupling the media broker to one or more renderers and a controller associated with the communication interface adapted to receive a request from a user of a renderer to play a media item. The media broker further retrieves at least one resume point record associated with the user and the media item and comprising at least one resume point. In an exemplary embodiment, each of the at least one resume points may result from an action associated with the user while viewing the media item at the renderer, another renderer, or both. The media broker then enables viewing the media item at the renderer beginning at the at least one resume point.

When media content is watched by one or more viewers in a home, the viewer or viewers may desire to switch playback of the media content from a first playback device to any one of a number of other playback devices such as another TV, computer or hand held device located elsewhere within range of a home network. As homes gain centralized management of video content, this becomes plausible and there is described below a system that enables this functionality. This disclosure describes a system with which users are free to move throughout their house and surrounding area and continue to enjoy their content without interruption.

As described in the exemplary embodiments that follow, a system is provided that includes a central storage and/or stream management and consolidator entity, the media broker, that enables viewers to switch from one playback device to another playback device while viewing media content. As described more fully below, a media broker functions to centralize access to media content, whether the media content is a cable stream or stored content, referenced in a merged EPG (electronic program guide) as described in U.S. Provisional Patent Application 61/163,086 and incorporated herein in its entirety, as well as media content outputted via both cabled and wireless methods to playback devices (e.g., TV, hand held devices, laptops, and the like).

The system described herein further provides the unique ability to change playback renderers. For example, a user might start watching content on the home's primary TV but decide he or she wants to watch the remainder of the media content on a handheld device. As described below, the system allows for such a remote resume of media content on another device, or renderer.

Existing technology allows pauses and resumes when using, for example, DVRs and VCRs. An added benefit to having a centralized media broker is that user identification can exist to add user based resume points in content. As used herein, a “resume point” is a location in a media item at which a user has paused or stopped the play of the media item. For example, Beth is watching “The Princess Bride” on a TV, she needs to take a break and pauses playback. If Johnny decides to watch “The Princess Bride” he won't see the resume point created by Beth as such a resume point is associated with Beth. However, Beth will see the one or more resume point associated with herself when she decides to continue watching.

The following example highlights the utility of the system. Sandra is watching “Ashes to Ashes,” her favorite weekly BBC America show. This show happens not to be broadcast in high definition (HD), but, since it was available, Sandra was watching the show on a large screen TV in the living room of her home. Andrew enters the room with the intention of watching a game featuring his favorite hockey team, which is being broadcast in HD and is scheduled to begin in a few minutes. Sandra, being the kind wife she is, decides she can watch her program on the bedroom TV and uses her smartphone to issue a request to a media broker to pause playback of her program. The media broker receives Sandra's request and ascertains the identity of Sandra that just paused “Ashes to Ashes.” In response, the media broker creates a resume point recording the place in the program at which Sandra paused the playback and links the resume point to Sandra. Andrew proceeds to change the channel of the TV in the living room just in time to watch the puck drop. Meanwhile, Sandra goes into her bedroom, turns on the TV and uses her remote to navigate to “Recent Programs,” select “Ashes to Ashes,” and then clicks play. The request for play is sent to the media broker, which then determines that a resume point is associated both with “Ashes to Ashes” and Sandra exists. As a result, the media broker enables the playback of “Ashes to Ashes” on the TV in Sandra's bedroom at the point where Sandra previously paused the program.

In another example, Jill is enjoying watching the film “Gone with the Wind” on her TV. Jill's two children want to go play in the pool but need someone outside to supervise. Jill is the only adult available to supervise the children but does not desire to stop watching her program. Jill pauses her movie and grabs her brand new Apple tablet computer device and heads outside to supervise. Jill executes an application that enables her to resume watching “Gone with the Wind” at the point at which she previously paused the film and Jill continues playback of the film on her tablet computer while sitting on her porch.

FIG. 1 illustrates a system 10 incorporating a media broker 12 communicatively coupled to a plurality of renderers 14, one or more media storage devices 16, and at least one repository of user information, such as user server 18.

As used herein, a “user” of the system 10 is one who views media content on one or more renderers. As a result, the terms “user” and “viewer” may be used interchangeably.

As noted above, “renderer” refers to any device capable of receiving a media item and displaying, playing or otherwise rendering the media item. Examples of renderers 14 include, but are not limited to, laptop computers, desktop computers, personal digital assistants (PDAs), mobile telephones, televisions (TVs), portable game players, and the like.

As used herein, “media storage device” refers to any and all devices capable of storing and outputting upon request one or more media items. Examples of media storage devices 16 include, but are not limited to, data servers, digital video recorders (DVRs), computers, and the like.

As used herein, “media broker” refers to any device capable of (1) communicating with one or more media storage devices 16 to determine a set of media items stored on and accessible from one or more media storage devices 16 and media broker 12, (2) receiving requests for media items stored on one or more media storage devices 16 and media broker 12, and (3) facilitating the streaming of a requested media item from a media storage device 16 or the media broker 12 to a renderer 14. As described more fully below, when acting as a proxy device between a stored media item and the renderer 14 on which the media item is viewed, media broker 12 maintains records indicative of actions taken during a first viewing session of a media item by a viewer (e.g., pausing the viewing session), so that the viewer may subsequently communicate with the media broker 12 to resume viewing the media item at the outset of another viewing session at the point at which the first viewing session was paused or otherwise terminated.

As illustrated, the coupling of the media broker 12 to individual renderers 14, media storage devices 16 and the user server 18 may be facilitated via network 20. Network 20 may be a network such as, but not limited to, a hard wired local area network (LAN), a wireless network, or some combination thereof. The network 20 may further enable communication with the internet such as when, for example, enabling cloud computing as described more fully below. As a result, the media broker 12 can communicate with every renderer 14, media storage device 16 and user server 18 directly via the network 20. In addition to the network 20, various renderers 14, media storage devices 16 and user server 18 may engage in direct wireless communication with the media broker 12 according to, for example, one of the suite of IEEE 802.11 standards, the Bluetooth® standard, or the like.

In general, as described more fully below, the media broker 12 acts as a proxy to facilitate communication between renderers 14 and media storage devices 16. In some exemplary embodiments, the media broker 12 facilitates and enables communication between a media storage device 16 and a renderer 14, such as via communication link 20′, whereby data flows between a media storage device 16 and a renderer 14 without passing through the media broker 12. In such embodiments, the media broker 12 supervises establishing the communication link between the media storage device 16 and the renderer 14, and monitors the communication link. For example, the media broker 12 may enable a renderer 14 to receive and play a media item, such as a streaming music video, from media storage device 16 via a Bluetooth® connection between the renderer 14 and the media storage device 16. If, for example, a viewer operating the renderer 14 pauses the playback of the streaming video, the renderer 14 may direct the media storage device 16 to pause the streaming broadcast of the video while further providing media broker 12 with information sufficient to identify the media content viewed and paused, the identity of the viewer who issued the pause command, and the point in the music video whereat the video was paused. In this manner, even though the streaming of the video does not pass through the media broker 12, the media broker is able to supervise the viewer's actions and record information pertaining thereto.

As illustrated, a renderer 14 may also have media storage capabilities. For example, renderer 14 may be a desktop computer. In such an embodiment, renderer 14 may incorporate a media storage device 16, such as a hard drive, for storing media items that may be viewed on a screen also forming a part of renderer 14. In such an instance, the renderer 14 may still access the media via a request sent to media broker 12 acting as a proxy for a media item stored on the renderer's media storage device 16. As described more fully below, renderer 14 may incorporate a network device 70 to facilitate communication between a renderer 14 and media broker 12 as well as to receive input from a user such as via remote control apparatus 74.

Media storage devices 16 generally operate to store or otherwise archive media items. As used herein, a “media item” refers to any and all formatted entities encoding video and audio material as well as combinations thereof.

User server 18 operates, generally, to manage viewer authentication and authorization required for playback and resume points. While illustrated as separate entities, various media storage devices 16 may be implemented either as elements separate from but in communication with media broker 12 or, conversely, as entities integrated with the media broker 12. Likewise, user server 18 may be implemented as an entity separate from media broker 12 or as an integrated part of media broker 12.

FIG. 2 is an illustration of an exemplary user server 18 showing user record 22 as may be stored in a user information repository 24 of user server 18. User record 22 stores information associated with a user of the system, or “viewer,” that allows, for example, media broker 12 to authenticate a viewer as a valid user of the system 10. Exemplary data fields of user record 22 may include (1) a user id 26 for uniquely identifying a user, (2) a name field 28 for storing a user's name, (3) a description field 30 for storing a description of the user, (4) a birthday field 32 for storing a birthday of a user, (5) an image field 34 for storing an image or a link to an image of a user, (6) a GUID (globally unique identifier) field 36 for storing a unique GUID, (7) a guide field 38 for storing viewing guide information, (8) a logs field 40 for recording historic data, (9) a service field 42 for storing service information, (10) a state field 44 for storing state information, (11) a location field 46 for storing location information, (12) a preferences field 48 for storing one or more viewing preferences of a user, (13) a viewing history field 50 for storing information associated with a user's previous viewing selections, and (14) one or more resume point records 52.

Note that the user record 22 may be utilized in an exemplary embodiment wherein the user server 18 is integrated with and forms a part of media broker 12. When such is the case, media broker 12 may query the user record 22, such as via communication with the integrated user server 18, with a user id 26 corresponding to a viewer and receive the one or more resume point records 52 associated with the viewer. In other exemplary embodiments wherein the user server 18 is separate from media broker 12, but is communicatively coupled via network 20, user record 22 may omit the one or more resume point records 52 which may be stored on the media broker 12 as described with reference to FIG. 3. In an alternative embodiment, resume point records 52 may be stored in an accessible external system including, but not limited to, Amazon Cloud Servers, or MobileMe^(SM). In an alternative embodiment, the user server 18 may be in an external server such as OpenID® or Facebook® Connect.

FIG. 3 is an illustration of an exemplary resume point record 52 as may be stored in a repository of media broker 12 or as part of a user record 22. Resume point record 52 records information associated with a resume point such as is generated when a viewer pauses a viewing of a media item. Exemplary data fields of resume point record 52 may include (1) a content id 54 for identifying a media item that was paused, (2) a content location 56 for recording information indicative of the media storage device 16 upon which the paused media item is stored, (3) a user id 58 uniquely identifying a user who paused the playing of the media item, (4) a globally unique identifier (GUID) 60 for identifying the paused media item, (5) a resume point 62 identifying where in the media item the resume point occurred and from where playback is to resume, (6) a save location 64 for identifying a device whereupon a media item may be recorded in response to a request to pause the playback of a media item, (7) a save date 66 for recording the date upon which the resume point was established, (8) an expiration date 68 upon which the resume point record is to be erased or rendered inoperative, and (9) a notes field 69 for storing user annotated information associated with a resume point.

In an exemplary embodiment, media broker 12 stores one or more resume point records 52 when media broker 12 is distinct from user server 18. In such an embodiment, user records 22 may omit the resume point records 52. As a result, the user server 18 may access user records 22 to authenticate a viewer and, once authenticated, can inform media broker 12 of the authenticated user id 26 associated with the viewer. As discussed below, the user id 26 may be used to access one or more resume point records 52 associated with a viewer.

The renderers 14 communicate directly with the media broker 12 via the network 20 to request and receive content. This communication may occur in part or in whole over a wired or wireless connection.

FIG. 4 is a sequence diagram showing exemplary steps of the operation of system 10 whereby playback of a media item from a resume point is enabled. First, a viewer turns on the renderer 14 and the renderer 14 identifies one or more viewers (step 200). The renderer 14 accomplishes this by establishing credentials for one or more viewers. Credentials may include a user identifier and password, biometrics (such as fingerprint identification, facial recognition, voice fingerprinting), token authenticator, Bluetooth® device detection (such as detection of a phone associated with a viewer), some other proximity based identification method or other way of identifying users. The renderer 14 also is able to detect and establish the credentials for multiple viewers using the same methods listed above.

Establishing a viewer's credentials on a renderer 14 forming a computer or mobile computing device may be accomplished via a user interface through which data associated with a viewer is collected and analyzed. In the instance where the renderer 14 is a TV, the renderer 14 may include a network device 70 that allows data to be transmitted from the renderer 14 to media broker 12, to receive data from media broker 12 and to control the operation of the renderer 14.

Once established, the credentials of the one or more viewers is transmitted to media broker 12 (step 210). In the event that user server 18 is separate from media broker 12, media broker 12 provides the credentials to user server 18 and requests authentication of the one or more viewers from user server 18 (step 220). User server 18 may then query user information repository 24 to authenticate that the at least one viewer is a valid user of the system 10 and returns an authentication for each of the authenticated viewers (step 230).

When media broker 12 receives authentication for one or more viewers, a guide or menu of available media items is transmitted to the renderer 14 (step 240). As noted above, media broker 12 operates to aggregate available media content including, but not limited to live TV, DVR content, DVD content, saved videos, and online content such as may be stored on any and all media storage devices 16. A viewer next selects a media item for viewing (step 250) and the renderer 14 transmits an identifier of the selected media item and one or more identifiers of the one or more viewers (e.g., one or more user ids) to the media broker 12 (step 260).

Media broker 12 searches the one or more resume point records 52 and retrieves all resume point records 52 with a content id 54 or GUID 60 matching the received media item identifier and a user id 58 matching at least one of the authenticated viewers (steps 270 and 280). As used herein, when a record entry for a resume point record 52 includes a user identifier and a media item identifier, the one or more resume points included in the resume point record entry 52 are “associated” with the user identifier and the media item identifier. Media broker 12 then proceeds to send information regarding one or more retrieved resume points to the renderer 14 (step 290). For example, media broker 12 may send information identifying three resume points in the media item titled “Ashes to Ashes” at 1 minute 15 seconds from the start, at 15 minutes 25 seconds from the start, and 29 minutes 25 seconds from the start. When renderer 14 receives the information, it is displayed to the one or more viewers (step 300).

FIG. 5 is an illustration of an exemplary GUI 72 for displaying received resume points at a renderer 14. In the exemplary embodiment illustrated, the textual descriptions of the resume points may be retrieved from, for example, notes 69 or from media item metadata. The viewer may select a displayed resume point or may select to start play of the media item from the beginning. Returning to FIG. 4, the renderer 14 proceeds to transmit the selected resume point to the media broker 12 (step 310). In an exemplary embodiment, selection by the viewer of the option to start from the beginning may result in a request to begin viewing at a resume point 0 (zero) seconds from the beginning of the media item.

Media items may be stored on the media broker 12. Media broker 12 can also act as a centralized device that is able to stream content from external media storage devices 16. As a result, requested media items may be stored on disparate media storage devices 16. By establishing communication with the media broker 12, renderers 14 can communicate with media broker 12 as a proxy for any and all media storage devices 16 and internet streamed content.

Having received an identifier of a media item to be viewed by a viewer as well as the desired resume point at which to resume viewing of the media item, media broker 12 enables the broadcast of the selected media item from the media storage device 16 where the media item is stored to the renderer 14 on which the media item is to be viewed. Note that the renderer 14 on which a media item is viewed may be different than the renderer 14 from which a resume point is defined or otherwise created. In an exemplary embodiment, media broker 12 sends a request to a media storage device 16 to begin streaming the selected media item beginning at the selected resume point (step 320).

Upon receiving the request from the media broker 12, media storage device 16 transmits the requested media to the media broker 12 starting at the requested resume point (step 330). Media broker 12 subsequently transmits the received media item to the renderer 14 (step 340) to be viewed by one or more viewers.

In an alternative exemplary embodiment, the request of step 320 may include an instruction to stream the requested media item directly to the renderer 14 without passing through media broker 12. As a result, media storage device 16 may communicate with renderer 14 via a communication link 20′ (FIG. 1) communicatively coupling media storage device 16 and renderer 14 or, conversely, may communicate via network 20 but without passing through media broker 12.

FIG. 6 is a sequence diagram showing exemplary steps of the operation of system 10 whereby a resume point is created. To begin, a media item is streamed to a renderer 14 by media broker 12 and the viewer of the renderer 14 has been authenticated (step 400). Next, the viewer designates a resume point (step 402). In an exemplary embodiment, renderers 14 include standard playback control features implemented as found in current media rendering tools for facilitating the display of menus, content schedules and scheduling, and media playback. In one embodiment, a remote control apparatus 74 may be used to interact with the display capabilities of renderer 14 and media broker 12. Communication between the media broker 12 and the remote control apparatus 74 may involve a network device 70 capable of interfacing with both renderer 14 and media broker 12 to facilitate and receive inputs from remote control apparatus 74.

In an exemplary embodiment, a remote control apparatus 74 may include a control element such as, for example, remote resume button 76. In another embodiment, the remote resume button 76 may form a part of a click/touch interface, such as on an Apple® iPhone®. In other embodiments, the control element could exist as a part of the interface, either in software or hardware, of the renderer or a separate control interface. In an exemplary embodiment, when a viewer operates remote resume button 76, a menu of options is presented to the viewer. If the renderer 14 has computing capabilities and a display, such as an Apple® iPhone®, the renderer 14 may execute a user interface application 78 to present a GUI to the viewer allowing the viewer to define a resume point. If the renderer 14 is a display device that merely displays a received media item signal, an associated network device 70 may receive a notification that a viewer has operated remote resume button 76. In response, the network device 70 may display a GUI to the viewer on an associated renderer 14, receive input from the viewer via the GUI, and transmit the received input to media broker 12. In another embodiment, in response to receiving a notification that a viewer has operated remote resume button 76, network device 70 may transmit a request to media broker 12 for information to be displayed on an associated renderer 14, display the information as a GUI on the renderer 14, receive input from the viewer via the GUI, and transmit the received input to media broker 12.

In another exemplary embodiment, remote control apparatus 74 may include an advanced remote resume button 80. Operation of the advanced remote resume button 80 may cause advanced remote resume interface GUI 82 (FIG. 7) to be displayed to a viewer in a manner similar to that discussed above with reference to the remote resume button 76. In addition to operating advanced remote resume button 80, the functionality associated therewith may be invoked in any manner including, but not limited to, holding down any button on a remote control apparatus for a predetermined time period, holding down a button for a predetermined time period resulting in a prompt, such as via a GUI menu displayed on a renderer 14 to offer the viewer a choice to access advanced remote resume interface 82, capturing a predefined gesture, and/or receiving voice commands from a viewer.

With reference to FIG. 7, there is illustrated an exemplary and non-limiting embodiment of advanced remote resume interface GUI 82 that allows a viewer to select the one or more viewers that will be associated with the resume point as well as notes associated with the resume point. In another embodiment, resume points may be used to create a reminder to watch a media item later beginning at a specified point. For example, an interesting discussion is occurring on live TV but Joe is too distracted to comprehend all the details. As a result, Joe creates a resume point for the TV media item so he can re-watch the media item at a later time. Because, in this example, the media item is being broadcast live, creating the resume point would further include sending media broker 12 a request to begin recording the media item.

In an exemplary embodiment, an input device, such as remote control apparatus 74, may provide the ability for detail to be associated with a resume point in addition to the resume point location, save date, expiration date, and the like. For example, a viewer may create a custom note containing additional information about the resume point. Such information may be text based, audio based, or video based and may be transmitted for storage in the notes field 69 of a resume point record 52. In one example, a viewer is watching a media item on a hand held device renderer 14 but wants to create a reminder of why they wish to watch the media item at a later time. The viewer may turn on a camera, such as might form a part of remote control apparatus 74, and create a video note. Likewise, a viewer on a computer may type in a note that would be rendered with the resume point.

In another exemplary embodiment, a viewer may designate a resume point to be accessible to other users of system 10. For example, a viewer may define a permission attribute associated with the resume point that selectively grants permission to utilize the resume point to an individual other user, to a defined group of users, or to all other users.

In an exemplary embodiment, a resume point is automatically created when one or more viewers forming a group either leaves or joins a viewing session. For example, if a viewer enters a room and renderer 14 detects and identifies the viewer, a resume point is created associated with the viewer. As a result, the viewer is able to subsequently view the media item starting at the resume point. Similarly, if a viewer leaves a viewing session and renderer 14 detects and identifies the viewer, a resume point is created associated with viewer. As a result, the viewer may return to the media item and watch it later at a renderer 14 of the viewer's choosing. For example, a football fan for one of the teams playing in the super bowl is unhappy with all the talking over the plays and wants a quiet viewing. The viewer leaves the room and heads outside to watch the broadcast. Renderer 14 detects the exit of the viewer and operates to automatically create a resume point and if the live broadcast of the super bowl is not being recorded, to record it. The viewer proceeds to pick up a hand-held renderer 14 and heads to another room, selects the media item corresponding to the recorded super bowl, and selects the displayed resume point corresponding to the viewer as described above.

With continuing reference to FIG. 6, in an exemplary embodiment, when a viewer rewinds, fast forwards, or skips content, a resume point may be automatically generated. However selected, the renderer 14 transmits the selected resume point and related information, such as, for example, an associated note, to media broker 12 (step 404). Such associated information may include, but is not limited to the resume point location, a save location, save date, expire date, notes, permissions and the like.

Upon receiving a resume point and associated information, media broker 12 creates a resume point record 52 (step 406). Media broker 12 may further operate to manage the retention of automatically created resume points. For example if a viewer pauses playback of a media item, thus causing a resume point to be generated and transmitted to media broker 12, but then resumes play on the same renderer 14, that resume point may be removed since the viewer probably does not desire its retention. Likewise, if a resume point is automatically generated in response to a viewer rewinding during play of a media item, but the viewer proceeds to view the media item past the original resume point, media broker 12 may delete the resume point. Likewise, automatically generated skip and fast forward resume points can be removed when the user reaches the end of the media item.

In an exemplary embodiment, media broker 12 may operate to use the received information associated with a resume point to create a description of what is occurring with the resume point. For example, if the media item for which a resume point is created has embedded metadata, the notes from the scene or a snippet of audio right before the resume point may be retrieved from the media item or may be rendered in textual format using a speech-to-text application.

FIG. 8 is a block diagram of a user server 18 of FIG. 1 according to one embodiment of the present disclosure. As illustrated, the user server 18 includes a controller 86 connected to memory 88, one or more secondary storage devices 90 and a communication interface 92 via a bus 94 or similar mechanism. The controller 86 is a microprocessor, digital ASIC, FPGA, or the like. In this embodiment, the controller 86 is a microprocessor, and software for performing the functions of user server 18 described above is stored in the memory 88 for execution by the controller 86. Further, depending on the particular embodiment, the user information repository 24 is stored in the one or more secondary storage devices 90. The one or more secondary storage devices 90 are digital storage devices such as, for example, one or more hard disk drives. The communication interface 92 is a wired or wireless communication interface that communicatively couples the user server 18 to the network 20 (FIG. 1). For example, the communication interface 92 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, a mobile communications interface such as a cellular telecommunications interface, or the like.

FIG. 9 is a block diagram of a media broker 12 of FIG. 1. As illustrated, the media broker 12 includes a controller 96 connected to memory 98, one or more secondary storage devices 100, a communication interface 102, and one or more user interface components 104 by a bus 106 or similar mechanism. The controller 96 is a microprocessor, digital ASIC, FPGA, or the like. In this embodiment, the controller 96 is a microprocessor, and software for performing the functions of media broker 12 described above is stored in the memory 98 for execution by the controller 96. The one or more secondary storage devices 100 are digital storage devices such as, for example, one or more hard disk drives. The communication interface 102 is a wired or wireless communication interface that communicatively couples the media broker 12 to the network 20 (FIG. 1). For example, the communication interface 102 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, a mobile communications interface such as a cellular telecommunications interface, or the like.

FIG. 10 is a block diagram of a media storage device 16 of FIG. 1 according to one embodiment of the present disclosure. As illustrated, the media storage device 16 includes a controller 108 connected to memory 110, one or more secondary storage devices 112, and a communication interface 114 by a bus 116 or similar mechanism. The controller 108 is a microprocessor, digital ASIC, FPGA, or the like. In this embodiment, the controller 108 is a microprocessor, and software for performing the functions of media storage device 16 described above is stored in the memory 110 for execution by the controller 108. The one or more secondary storage devices 112 are digital storage devices such as, for example, one or more hard disk drives. The communication interface 114 is a wired or wireless communication interface that communicatively couples the media storage device 16 to the network 20 (FIG. 1) as well to external sources of media content including, but not limited to, cable and satellite signals. For example, the communication interface 114 may be an Ethernet interface, local wireless interface such as a wireless interface operating according to one of the suite of IEEE 802.11 standards, a mobile communications interface such as a cellular telecommunications interface, or the like.

Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow. 

1. A media broker comprising: a communication interface communicatively coupling the media broker to one or more renderers; and a controller associated with the communication interface adapted to: receive a request from a user of a renderer to play a media item; retrieve at least one resume point associated with the user and the media item; and enable viewing the media item at the renderer beginning at the at least one resume point.
 2. The media broker of claim 1 wherein the request comprises a user identifier and a media item identifier.
 3. The media broker of claim 1 wherein the controller is further adapted to: transmit the at least one resume point to the renderer; and receive a selection of one of the at least one resume point.
 4. The media broker of claim 1 wherein the at least one resume point is stored at the media broker.
 5. The media broker of claim 1 wherein the at least one resume point is stored in a user server.
 6. The media broker of claim 1 wherein the controller is further adapted to transmit a menu of available media items.
 7. The media broker of claim 6 wherein the menu of available media items is aggregated from a plurality of media storage devices.
 8. The media broker of claim 1 wherein each of the at least one resume point is a result of an action associated with the user while viewing the media item at one of the renderer and another renderer.
 9. A computer-readable medium embodied in an article of manufacture encoded with instructions for directing a processor of a media broker to: receive a request from a user of a renderer to play a media item; retrieve at least one resume point associated with the user and the media item; and enable viewing the media item at the renderer beginning at the at least one resume point.
 10. The computer-readable medium of claim 9 wherein the request comprises a user identifier and a media item identifier.
 11. The computer-readable medium of claim 9 wherein the processor is further adapted to: transmit the at least one resume point to the renderer; and receive a selection of one of the at least one resume point.
 12. The computer-readable medium of claim 9 wherein the at least one resume point is stored at the media broker.
 13. The computer-readable medium of claim 9 wherein the at least one resume point is stored in a user server.
 14. The computer-readable medium of claim 9 wherein the processor is further adapted to transmit a menu of available media items.
 15. The computer-readable medium of claim 14 wherein the menu of available media items is aggregated from a plurality of media storage devices.
 16. The computer-readable medium of claim 9 wherein each of the at least one resume point is a result of an action associated with the user while viewing the media item at one of the renderer and another renderer.
 17. A method comprising: receiving a request from a user of a renderer to play a media item; retrieving at least one resume point associated with the user and the media item; and enabling viewing the media item at the renderer beginning at the at least one resume point.
 18. The method of claim 17 wherein enabling viewing the media item comprises directing a media storage device to stream the media item to the renderer.
 19. The method of claim 17 wherein each of the at least one resume point is a result of an action associated with the user while viewing the media item at one of the renderer and another renderer.
 20. A renderer comprising: a communication interface communicatively coupling the renderer to a media broker; and a controller associated with the communication interface adapted to: transmit a request comprising a user identifier and a media item identifier associated with a media item to the media broker; receive at least one resume point associated with the user identifier and the media item identifier; display the at least one resume point; receive a selection of one of the at least one resume point; and transmit the selection to the media broker.
 21. The renderer of claim 20 wherein the controller is further adapted to: receive a streaming broadcast of the media item beginning at the one of the at least one resume point; and display the streaming broadcast.
 22. The renderer of claim 20 wherein the media item is one of a plurality of media items aggregated from a plurality of media storage devices and displayed for selection by a user.
 23. A computer-readable medium embodied in an article of manufacture encoded with instructions for directing a processor of a renderer to: transmit a request comprising a user identifier and a media item identifier associated with a media item to a media broker; receive at least one resume point associated with the user identifier and the media item identifier; display the at least one resume point; receive a selection of one of the at least one resume point; and transmit the selection to the media broker.
 24. The computer-readable medium of claim 23 wherein the processor is further directed to: receive a streaming broadcast of the media item beginning at the one of the at least one resume point; and display the streaming broadcast.
 25. The computer-readable medium of claim 23 wherein the media item is one of a plurality of media items aggregated from a plurality of media storage devices and displayed for selection by a user.
 26. A method comprising: transmitting a request comprising a user identifier and a media item identifier associated with a media item to a media broker; receiving at least one resume point associated with the user identifier and the media item identifier; displaying the at least one resume point; receiving a selection of one of the at least one resume point; and transmitting the selection to the media broker.
 27. The method of claim 26 wherein the media item is one of a plurality of media items aggregated from a plurality of media storage devices and displayed for selection by a user. 